package com.bw;

import cn.hutool.http.useragent.UserAgent;
import cn.hutool.http.useragent.UserAgentUtil;
import org.apache.hadoop.hive.ql.exec.UDF;

import java.util.HashMap;
import java.util.Map;

public class ParseUaToBrowser extends UDF {
    public Map<String,String> evaluate(String uaStr){
        HashMap<String, String> map = new HashMap<>();

        UserAgent ua = UserAgentUtil.parse(uaStr);

        map.put("browser",ua.getBrowser().toString());
        map.put("browser_version",ua.getVersion());
        map.put("engine",ua.getEngine().toString());
        map.put("engine_version",ua.getEngineVersion());
        map.put("os",ua.getOs().toString());
        map.put("os_version",ua.getOsVersion());
        map.put("platform",ua.getPlatform().toString());
        map.put("is_mobile",ua.isMobile()? "1":"0");

        return map;
    }

    public static void main(String[] args) {
        System.out.println(new ParseUaToBrowser().evaluate("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; en) Opera 9.50"));
    }
}
